package com.eight.cloud.client.model.vo;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @ClassName: NoticeInfo
 * @Author: TXC
 * @Date: 2024-12-03 14:47
 **/
@Data
@Accessors(chain = true)
public class NoticePayInfo implements Serializable {
    /** currency */
    private TransactionAmount amount;

    /**
     * 微信端appid
     */
    private String subAppid;

    /**
     * 微信入账商户号
     */
    private String subMchid;
    private String bankType;
    private String outTradeNo;
    private String subOpenid;
    private String successTime;
    private TradeStateEnum tradeState;
    private String tradeStateDesc;
    private TradeTypeEnum tradeType;
    private String transactionId;

    public static enum TradeStateEnum {
        SUCCESS,
        REFUND,
        NOTPAY,
        CLOSED,
        REVOKED,
        USERPAYING,
        PAYERROR,
        ACCEPT;

        TradeStateEnum() {
        }
    }

    public static enum TradeTypeEnum {
        JSAPI,
        NATIVE,
        APP,
        MICROPAY,
        MWEB,
        FACEPAY;

        TradeTypeEnum() {
        }
    }
}
